package cn.wjc.demo.part.three.dao;

import net.sf.cglib.proxy.CallbackFilter;

import java.lang.reflect.Method;

public class DaoFilter implements CallbackFilter {
    /**
     * accept方法返回的数值表示的是顺序
     * 顺序和测试方法中enhancer.setCallbacks里面Proxy的顺序是一致的
     * 返回0时，使用Callback数组中的0位callback，即DaoProxy
     * 返回1时，使用Callback数组中的1位callback，即DaoAnotherProxy
     *
     * @param method
     * @return
     */
    @Override
    public int accept(Method method) {
        if ("select".equals(method.getName())) {
            return 0;
        }
        return 1;
    }
}
